//
//  TextFieldSwift.swift
//  Study-code
//
//  Created by quanhao huang on 2021/11/15.
//

import Foundation
import UIKit
/**
 TextField在iOS中的意思是文本框，它的作用主要用于获取用户输入值。例如：密码、账号、等等信息。
 1.placeholder：占位文字，一般用于用户未输入时的提示文字。例如：请输入密码信息
 2.delegate(代理)：这是在iOS中很重要的一个属性，代理我们到时候放到demo来细讲，常用代理方法看以下内容
   (1).textFieldShouldBeginEditing
   (2).textFieldDidBeginEditing
   (3).textFieldShouldEndEditing
   (4).textFieldDidEndEditing
   (5).shouldChangeCharactersIn
   (6).textFieldShouldClear
   (7).textFieldShouldReturn
 */
class CustomTextField: NSObject, UITextFieldDelegate {
    
    func createUI() {
        //新建一个TextField
        let textField = UITextField()
        textField.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
        
        //MARK: 重要属性
        //placeholder
        textField.placeholder = "请输入密码"
        //文字大小
        textField.font = UIFont.systemFont(ofSize: 13)
        //默认文字内容（这个就不属于占位文字了，它是真实文字，一般用户保存用户输入过的密码之类的，防止用户二次输入而节省时间）
        textField.text = "17600551223"
        //文字颜色
        textField.textColor = UIColor.white
        //文字对齐方式
        textField.textAlignment = .left
        textField.delegate = self//注意看上边NSObject后边多了的内容，它表示delegate委托给这个类使用
    }
    
    //MARK: 我们在这里来实现代理方法
    //文本框将要开始输入了
    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
        return true
    }
    //文本框已经输入了
    func textFieldDidBeginEditing(_ textField: UITextField) {
        
    }
    //文本框将要结束输入
    func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
        return true
    }
    //文本框已经结束输入
    func textFieldDidEndEditing(_ textField: UITextField) {
        
    }
    //文本框内容改变了
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        return true
    }
    //文本框将要清除内容
    func textFieldShouldClear(_ textField: UITextField) -> Bool {
        return true
    }
    //文本框将要return（相当于pc的回车键到下一行输入）
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        return true
    }
}
